```vue:d:\桌面\小程序\app\my-project\src\views\Review.vue
<template>
  <div>
    <h1>店铺评价</h1>
    <div>
      <span v-for="star in 5" :key="star" @click="setRating(star)">
        {{ star <= rating ? '★' : '☆' }}
      </span>
    </div>
    <textarea v-model="comment" placeholder="请输入您的评价"></textarea>
    <button @click="submitReview">提交评价</button>
  </div>
</template>

<script>
import { ref } from 'vue';

export default {
  name: 'Review',
  setup() {
    const rating = ref(0);
    const comment = ref('');

    const setRating = (newRating) => {
      rating.value = newRating;
    };

    const submitReview = async () => {
      try {
        const reviewsResponse = await fetch('/mock/reviews.json');
        const reviews = await reviewsResponse.json();
        const newReview = {
          id: reviews.length + 1,
          storeId: 1, // 假设这里需要从路由或其他地方获取店铺 ID
          userId: 1, // 假设这里需要从用户状态获取用户 ID
          rating: rating.value,
          comment: comment.value
        };
        reviews.push(newReview);
        // 由于 JSON 文件是静态的，实际开发中需要替换为真实的后端 API 来保存数据
        console.log('评价提交成功:', newReview);
      } catch (error) {
        console.error('提交评价失败:', error);
      }
    };

    return {
      rating,
      comment,
      setRating,
      submitReview
    };
  }
};
</script>
```